// 封装节点类
function Node(data) {
  this.head = data;
  this.next = null;
}
// 封装单向链表类
function LinkList() {
  // 属性
  // 属性head指向链表的第一个节点
  this.head = null;
  this.length = 0;
}

// 一.实现append方法
LinkList.prototype.append = function (data) {
  //1.创建新节点
  const newNode = new Node(data);
  //2.添加新节点
  //情况1：只有一个节点时候
  if (this.length == 0) {
    this.head = newNode;
    //情况2：节点数大于1，在链表的最后添加新节点
  } else {
    //让变量current指向第一个节点
    let current = this.head;
    console.log({ current });
    //当current.next(下一个节点不为空)不为空时，一直循环，直到current指向最后一个节点
    while (current.next) {
      current = current.next;
    }
    // 最后节点的next指向新的节点
    current.next = newNode;
  }
  //3.添加完新结点之后length+1
  this.length += 1;
};
//测试代码
//1.创建LinkList
let list = new LinkList();

//2.测试append方法
list.append("aaa");
list.append("bbb");
list.append("ccc");
console.log(list);
